The present invention relates to methods and apparatus for solving timing problems that occur in certain types of printing systems.
One type of printing system to which the present invention pertains comprises an electrophotographic printer, of the type sometimes referred to as a `dumb printer,` coupled to a host computer. The printer relies on the host computer to send bit-mapped dot data. The dot data are created by software running on the host computer, and sent through a printer port by a program referred to as a port driver. The electrophotographic printer stores the data in a buffer memory, and prints the data one dot line at a time, in the order received.
One timing problem arises when the printer runs out of paper (or other printing media) during the printing of a series of pages. As soon as this condition is detected, the printer sends the host computer a control signal instructing the host computer to stop sending data, but in the meantime, part of the data for the next page has already been sent and stored in the printer's buffer memory. After being resupplied with paper, the printer begins printing the data stored in the buffer memory, and sends the host computer another control signal, requesting further data.
The problem is that during the time while the paper supply is being replenished and no data are being sent to the printer, the host computer's operating system may de-activate the port driver, and may re-activate the port driver to check the printer's status only at relatively long intervals thereafter. There may accordingly be a significant delay before the host computer recognizes that the printer is printing the next page and needs more data. If this delay is too long, the printer will run out of data to print, and be forced to deliver an incompletely printed page.
Another timing problem concerns the printer's warm-up time. It takes several seconds for the heating roller of an electrophotographic printer reach the temperature necessary for printing. To conserve energy, a conventional electrophotographic printer does not warm up its heating roller until the arrival of data to be printed. In a conventional printing system, when a series of pages are printed, the host computer prepares the data for the first page, then starts sending data to the printer. Before printing can begin, a double delay is therefore incurred: the printer's warm-up delay is added to the delay that occurs while the host computer is preparing the first page of data.